package me.lwn.auth.resources.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.util.Map;
import java.util.Set;

@Data
public class RegisteredClientVo {

    private String id;
    private String clientId;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate clientIdIssuedAt;
    private String clientSecret;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate clientSecretExpiresAt;
    private String clientName;
    private Set<String> clientAuthenticationMethods;
    private Set<String> authorizationGrantTypes;
    private Set<String> redirectUris;
    private Set<String> scopes;
    private boolean globalClientSettings;
    private Map<String, Object> clientSettings;
    private boolean globalTokenSettings;
    private Map<String, Object> tokenSettings;
}
